/* 
 * File:   OperacionSincronizacionRepositorio.h
 * Author: maximiliano
 *
 * Created on 10 de junio de 2013, 19:02
 */

#ifndef OPERACIONSINCRONIZACIONREPOSITORIO_H
#define	OPERACIONSINCRONIZACIONREPOSITORIO_H

#include <string>
#include "client_OperacionSecuencial.h"
#include "client_FileServiceProxy.h"
#include "common_Repositorio.h"
#include "client_OperacionObtenerRepositorio.h"
#include "client_OperacionSincronizacionArchivosNuevos.h"
#include "client_OperacionSincronizacionArchivosEliminados.h"
#include "client_OperacionSincronizacionArchivosModificados.h"

using namespace std;
using namespace TP::Archivos;
using namespace TP::Servicios;

namespace TP { namespace Operaciones {
    
#define OK "OK"
#define ERROR "ERROR"

    class OperacionSincronizacionRepositorio : public OperacionSecuencial {
    
    public:
        
        OperacionSincronizacionRepositorio(uint32_t pToken, FileServiceProxy* pFileService);
    
        virtual ~OperacionSincronizacionRepositorio();
        
        Repositorio* setRepositorioLocal (Repositorio* pRepositorio);
        
    private:

        Repositorio *_repositorioLocal
                  , *_repositorioServidor;
        FileServiceProxy* _fileService;
    };
}}

#endif	/* OPERACIONSINCRONIZACIONREPOSITORIO_H */

